#pragma once

<%
from cpp_keywords import EscapedName

def MakeComment(doc: str):
    if doc is None:
        return ''
    lines = ['// ' + line for line in doc.splitlines()]
    return '\n'.join(lines)
%>

namespace kiva {
namespace dsl {

% for name, doc in names:
    ${MakeComment(doc)}
    inline constexpr NameDslNode ${EscapedName(name)}("${name}");

% endfor

} // namespace kiva
} // namespace dsl
